package com.njcb.ams.event;

/**
 * 交易事件Bus
 * 
 * @author liuyanlong
 *         类功能描述：
 */
public class TradeInfoBus {

//	private final Subject<Object> mBus;
//
//	private TradeInfoBus() {
//		mBus = PublishSubject.create().toSerialized();
//	}
//
//	//单例实现
//	public static TradeInfoBus getInstance() {
//		return Holder.BUS;
//	}
//
//	/**
//	 * 发送事件
//	 * 方法功能描述：
//	 * 
//	 * @param obj
//	 */
//	public void post(Object obj) {
//		mBus.onNext(obj);
//	}
//
//	/**
//	 * 注册观察者
//	 * 方法功能描述：
//	 * 
//	 * @param clazz
//	 * @return
//	 */
//	public <T> Observable<T> register(Class<T> clazz) {
//		return mBus.ofType(clazz);
//	}
//
//	public boolean hasObservers() {
//		return mBus.hasObservers();
//	}
//
//	public void unRegisterAll() {
//		mBus.onComplete();
//	}
//
//	public static class Holder {
//		private static final TradeInfoBus BUS = new TradeInfoBus();
//	}
//
//	public static void main(String[] args) {
//		Observable<String> observable = TradeInfoBus.getInstance().register(String.class);
//		Observer<String> a1 = new Observer<String>() {
//			@Override
//			public void onSubscribe(Disposable d) {
//			}
//			@Override
//			public void onNext(String t) {
//				System.out.println("订阅者一消费:" + t);
//			}
//			@Override
//			public void onError(Throwable e) {
//			}
//			@Override
//			public void onComplete() {
//			}
//		};
//
//		observable.subscribe(a1);
//		observable.subscribe(new Consumer<String>() {
//			@Override
//			public void accept(String t) throws Exception {
//				System.out.println("订阅者二消费:" + t);
//			}
//		});
//
//		for (int i = 0; i < 1; i++) {
//			TradeInfoBus.getInstance().post("MessageContext");
//		}
//
//	}

}
